2. Для 61 большого города в Англии и Уэльсе известны средняя годовая смертность на 100000 населения (по данным 1958–1964) и концентрация кальция в питьевой воде (в частях на миллион). Чем выше концентрация кальция, тем жёстче вода. Города дополнительно поделены на северные и южные.

Постройте 95% доверительный интервал для средней годовой смертности в больших городах. Чему равна его нижняя граница? Округлите ответ до 4 знаков после десятичной точки.

3. На данных из предыдущего вопроса постройте 95% доверительный интервал для средней годовой смертности по всем южным городам. Чему равна его верхняя граница? Округлите ответ до 4 знаков после десятичной точки.

4. На тех же данных постройте 95% доверительный интервал для средней годовой смертности по всем северным городам. Пересекается ли этот интервал с предыдущим? Как вы думаете, какой из этого можно сделать вывод?


In [1]:
import numpy as np
import pandas as pd

In [14]:
data = pd.read_csv('water.txt', header=0, sep='\t')

In [15]:
data.head()


Out[15]:
location town mortality hardness
0 South Bath 1247 105
1 North Birkenhead 1668 17
2 South Birmingham 1466 5
3 North Blackburn 1800 14
4 North Blackpool 1609 18

In [27]:
total_mort = data['mortality']
south_mort = data[data['location']=='South']['mortality']
north_mort = data[data['location']=='North']['mortality']
south_hard = data[data['location']=='South']['hardness']
north_hard = data[data['location']=='North']['hardness']

In [26]:
from statsmodels.stats.weightstats import _zconfint_generic, _tconfint_generic

In [30]:
def get_95_interval(sample):    
    mean_std = sample.std(ddof=1)/sqrt(len(sample))
    return _tconfint_generic(sample.mean(), mean_std, len(sample) - 1, 0.05, 'two-sided')

In [39]:
print get_95_interval(total_mort)
print get_95_interval(south_mort)
print get_95_interval(north_mort)
print get_95_interval(north_hard)
print get_95_interval(south_hard)


(1476.0833413552848, 1572.2117406119285)
(1320.1517462936238, 1433.463638321761)
(1586.5605251961385, 1680.6394748038613)
(21.422487285724259, 39.377512714275738)
(53.467198692036106, 86.071262846425441)

In [ ]: